﻿using GrainManage.Data.Model;
using GrainManage.Data.Model.Filter;
using GrainManage.Data.Model.Table;
using System.Collections.Generic;

namespace GrainManage.Core.Service.Interfaces
{
    public interface IPriceService
    {
        PriceTable Get(int priceID, string creator);

        PriceTable GetRecentPriceByGrain(string priceType, string grain, string creator);

        List<PriceTable> SearchRecentPrice(PriceFilter filter, IPageable page, ICountable records, string creator);

        List<PriceTable> SearchPrice(PriceFilter filter, IPageable page, ICountable records, string creator);

        int Insert(PriceTable price);

        int Update(PriceTable price);

        int Delete(int priceID, string creator);

        List<int> Insert(List<PriceTable> prices);

        List<int> Update(List<PriceTable> prices);

        List<int> Delete(List<int> prices, string creator);
    }
}
